package com.minhua.jijiehao2.http

import io.reactivex.disposables.Disposable

/**
 * @author moo
 * @date 2017/11/22.
 * @describe
 */
object DisposableController {
    private val disposables = ArrayList<Disposable>()

    fun add(disposable: Disposable) {
        disposables.add(disposable)
    }

    fun remove(disposable: Disposable) {
        disposables.remove(disposable)
    }

    fun cancelAll() {
        disposables
                .filterNot { it.isDisposed }
                .forEach {
                    it.dispose()
                    disposables.remove(it)
                }
    }
}